package be.ipl.finito.servlets;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import be.ipl.finito.domaine.Joueur;

@WebServlet(urlPatterns={"*.html", "/index.html"})
public class Controleur extends javax.servlet.http.HttpServlet implements
		javax.servlet.Servlet {
	static final long serialVersionUID = 1L;

	@Override
	protected void service(HttpServletRequest req,
			HttpServletResponse resp) throws ServletException, IOException {
		String url = req.getServletPath().substring(1);
		String urlReelle = url;
		Joueur joueur = (Joueur) req.getSession().getAttribute("joueur");
		
		List<String> pagesPasConnecte = new ArrayList<String>();
		pagesPasConnecte.add("inscription.html");
		pagesPasConnecte.add("connexion.html");
		if (joueur == null) {
			if (!pagesPasConnecte.contains(url))
				urlReelle = "connexion.html";
		} else {
			if (pagesPasConnecte.contains(url))
				urlReelle = "choix.html";
		}

		RequestDispatcher rd = getServletContext().getNamedDispatcher(urlReelle);
		if (rd == null)
			urlReelle = "choix.html";
		if (!url.equals(urlReelle)) {
			resp.sendRedirect(urlReelle);
			return;
		}
		rd.forward(req, resp);
	}
}